$(function(){
	$('#deptId').select2({
    	  placeholder : "请选择部门/工作室",
    	  ajax: {
    	    url: CONTEXT_PATH + '/game/department/queryAll',
    	    dataType: 'json',
    	    
    	    processResults: function (data) {
    	        return {
    	        	results: data.data
    	        };
    	      }
    	  }
    	});
	
    $("#table").bootstrapTable({ // 对应table标签的id
        url: CONTEXT_PATH+"/game/game/query", // 获取表格数据的url
        cache: false, // 设置为 false 禁用 AJAX 数据缓存， 默认为true
        striped: true,  //表格显示条纹，默认为false
        pagination: true, // 在表格底部显示分页组件，默认false
        pageList: [10, 20, 50], // 设置页面可以显示的数据条数
        pageSize: 10, // 页面数据条数
        pageNumber: 1, // 首页页码
        singleSelect: true,
        toolbar: '#toolbar',
        //search:true,
        striped: true,                      //隔行变色
        clickToSelect: true,                //点击选中
        showColumns: true,                  //是否显示所有的列
        showRefresh: true,                  //是否显示刷新按钮
        sidePagination: 'server', // 设置为服务器端分页
        responseHandler: function(res) {
            return {
                "total": res.page.total,//总页数
                "rows": res.data   //数据
            };
        },
        /*
        queryParams: function (params) { // 请求服务器数据时发送的参数，可以在这里添加额外的查询参数，返回false则终止请求

            return {
                pageSize: params.limit, // 每页要显示的数据条数
                offset: params.offset, // 每页显示数据的开始行号
                sort: params.sort, // 要排序的字段
                sortOrder: params.order, // 排序规则
                dataId: $("#dataId").val() // 额外添加的参数
            }
        },*/
        sortName: 'gameId', // 要排序的字段
        sortOrder: 'asc', // 排序规则
        columns: [
            {
                checkbox: true, // 显示一个勾选框
                align: 'center' // 居中显示
            }, {
                field: 'gameId', // 返回json数据中的name
                title: '游戏ID', // 表格表头显示文字
                align: 'center', // 左右居中
                valign: 'middle', // 上下居中,
                sortable: true
            }, {
                field: 'department.name', // 返回json数据中的name
                title: '部门/工作室', // 表格表头显示文字
                align: 'center', // 左右居中
                valign: 'middle', // 上下居中,
                sortable: false
            },{
                field: 'nameCn', // 返回json数据中的name
                title: '游戏中文名', // 表格表头显示文字
                align: 'center', // 左右居中
                valign: 'middle', // 上下居中
                sortable: true
            }, {
                field: 'nameEn', // 返回json数据中的name
                title: '游戏英文名', // 表格表头显示文字
                align: 'center', // 左右居中
                valign: 'middle', // 上下居中
                sortable: true
            }, {
                field: 'packageDir', // 返回json数据中的name
                title: '服务端程序包目录名', // 表格表头显示文字
                align: 'center', // 左右居中
                valign: 'middle', // 上下居中
                sortable: true
            }, {
                field: 'gameDbName', // 返回json数据中的name
                title: '逻辑数据库名', // 表格表头显示文字
                align: 'center', // 左右居中
                valign: 'middle', // 上下居中
                sortable: true
            }, {
                field: 'logDbName', // 返回json数据中的name
                title: '日志数据库名', // 表格表头显示文字
                align: 'center', // 左右居中
                valign: 'middle', // 上下居中
                sortable: true
            }, {
                field: 'domain', // 返回json数据中的name
                title: '域名', // 表格表头显示文字
                align: 'center', // 左右居中
                valign: 'middle', // 上下居中
                sortable: true
            }
        ],
        onLoadSuccess: function(){  //加载成功时执行
            //console.info("加载成功");
        },
        onLoadError: function(){  //加载失败时执行
            layer.alert("数据加载失败");
        }

    });

    $('#btn_add').click(function () {
    	$('#deptId').val(null).trigger('change');
        $('#game_form')[0].reset();
        $('#action_type').val('add');
        $('#detailModalTitle').text('新增游戏');
        $('#detailModal').modal('show');
    });

    $('#btn_edit').click(function () {
        var records = $('#table').bootstrapTable('getSelections');
        if(records.length==0){
            layer.alert('请先选择要修改的记录！');
            return;
        }
        $.wajax({
            url: CONTEXT_PATH+'/game/game/findById',
            data: {id: records[0].gameId},
            success: function (result) {
                if(result.code == RESULT_FAIL){
                    layer.alert(result.msg);
                    return;
                }

                // 回显
                for(var key in result.data){
                	if (key == 'deptId') {
                		var newOption = new Option(result.data.department.name, result.data[key], false, false);
                    	$('#deptId').append(newOption);
                    	$('#deptId').val(result.data[key]).trigger('change');
                	} else {
                		$('#'+key).val(result.data[key])
                	}

                }
                
            }
        });
        $('#action_type').val('edit');
        //$("#id").attr("disabled","disabled");
        $('#detailModalTitle').text('修改游戏');
        $('#detailModal').modal('show');
    });
    
    $('#btn_delete').click(function () {
        var records = $('#table').bootstrapTable('getSelections');
        if(records.length==0){
            layer.alert('请先选择要删除的记录！');
            return;
        }
        layer.confirm('确认删除选中记录吗？', {
            btn: ['确定','取消'] //按钮
        }, function(){
            var id = records[0].gameId;
            $.wajax({
                url: CONTEXT_PATH+'/game/game/del',
                data: {id: id},
                success: function (result) {
                    layer.alert(result.msg);
                    $('#table').bootstrapTable('refresh');
                }
            });

        });
    });

    $('#btn_submit').click(function () {
        $("#game_form").submit();
    });

    $("#game_form").validate({
        rules: {
        	deptId: {
        		required: true
        	},
        	nameCn: {
                required: true
            },
            nameEn: {
                required: true
            },
            packageDir: {
                required: true
            },
            gameDbName: {
                required: true
            },
            logDbName: {
                required: true
            },
            domain: {
                required: true
            }
        },
        messages: {
        	deptId: "部门/工作室是必填项",
        	nameCn: "游戏中文名是必填项",
        	nameEn: "游戏英文名是必填项",
        	packageDir: "服务端程序包目录名是必填项",
        	gameDbName: "逻辑数据库名是必填项",
        	logDbName: "日志数据库名是必填项",
        	domain: "域名是必填项"
        },
        errorElement: "span",
        submitHandler: function(form) {
            var url='';
            var actionType = $('#action_type').val();
            if(actionType=='add'){
                url=CONTEXT_PATH+'/game/game/add';
                $('#gameId').val(-1);
            }else if(actionType=='edit'){
                url=CONTEXT_PATH+'/game/game/edit';
                var records = $('#table').bootstrapTable('getSelections');
                if(records.length==0){
                    layer.alert('请先选择要修改的记录！');
                    return;
                }
                
                $('#gameId').val(records[0].gameId);
            }
            $.wajax({
                type: "POST",
                url: url,
                data: $(form).serialize(),
                success: function(result) {
                    layer.alert(result.msg);
                    $('#detailModal').modal('hide');
                    $('#table').bootstrapTable('refresh');
                    $(form)[0].reset();
                }
            });
        }
    });//End

});